草庐IT

javascript - 检测用户何时离开页面

全部标签

ruby-on-rails - 如何在 Rails 中实现动态 404、500 等错误页面?

如何在Rails中实现动态的自定义错误页面?例如使用您的application.html.erb布局和页面中的一些动态字段的自定义404错误页面。另外,如何从本地机器测试它? 最佳答案 我在Google上查看了一些关于如何执行此操作的博客文章,不幸的是,大多数文章似乎都依赖于污染您的ApplicationController。我所做的是创建一个带有404消息的模板,然后使用该模板从rake任务更新public/404.html文件:#Rakefiletogeneratestatic404pagefile"public/404.htm

ruby-on-rails - 将用户生成的文本安全地存储在数据库中 (Ruby/Rails)

我正在尝试找到一种方法将用户生成的文本安全地存储在数据库中(这样只有用户才能访问他/她存储的文本)。我可以让Rails使用用户密码作为key来加密和解密用户的文本条目,但是如果用户忘记了他们的密码,就没有办法解密他们以前的内容/文本(因为Rails应用程序使用BCrypt来仅存储密码的哈希值)。有人知道怎么做吗?看起来Dropbox做了类似的事情:“存储在Dropbox服务器上的所有文件都经过加密(AES-256),没有您的帐户密码就无法访问。”(http://www.dropbox.com/help/27)然而,它们允许您重置密码,我假设它们不会在任何地方存储您的纯文本密码。我错过了

ruby - ruby 中的字符串文字如何绕过 new/initialize,有没有办法对此进行检测?

今天下午我在玩一个主意,偶然发现了一些我不太明白的东西。基本上我在这个实验中试图实现的是在每次创建字符串时以某种方式知道(供以后使用,例如在某种DSL中)。以下内容适用于通过String.new创建的任何字符串:class::Stringclass例如irb>String.new("foo")initializing'foo'newing'foo'=>"foo"我想不通的是当您使用文字时如何创建String对象。例如,为什么这不经过相同的初始化和设置:irb>"literalstring"=>"literalstring"我意识到当字符串是文字时,编译器会做一些不同的事情,但它不需要初

ruby - 是否可以使用机器人打开浏览器,手动操作页面,然后继续使用机器人?

我正在使用Ruby、SeleniumWebDriver和Nokogiri从网页中检索数据。加载正确的HTML后,我打印某个类的内容。例如,require"selenium-webdriver"require"nokogiri"browser=Selenium::WebDriver.for:chromebrowser.get"https://jsfiddle.net"doc=Nokogiri::HTML.parse(browser.page_source)doc.css('.aiButton').map(&:text).join(',')到目前为止,我发现最困难的部分是正确加载正确的HT

ruby-on-rails - 尽管安装了 therubyracer 和 nodejs,但找不到 JavaScript 运行时

我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.

ruby-on-rails - Rails 测试 - 检查用户是否使用 Devise 登录

我正在尝试通过向我的SessionsController发出POST请求来测试是否有人能够登录我的站点。我在几个地方看到过这种推荐方式:it'mustbeabletosigninauser'douser=create(:user)post:create,format::js,user:{email:user.email,password:user.password,remember_me:0}assert_response:success@controller.current_user.must_equaluserend但是这个测试是不正确的。调用@controller.current

ruby-on-rails - 何时以及何时不 stub /模拟测试

我正在齐心协力围绕Rspec进行研究,以便转向更多的TDD/BDD开发模式。但是,我还有很长的路要走,并且在一些基础知识上苦苦挣扎:比如,我究竟什么时候应该使用模拟/stub,什么时候不应该?以这种情况为例:我有一个Site模型has_many:blogs和Blog模型has_many:articles。在我的Site模型中,我有一个回调过滤器,它为每个新站点创建一组默认的博客和文章。我想测试该代码,所以这里是:describeSite,"whencreated"doincludeSiteSpecHelperbefore(:each)do@site=Site.createvalid_s

ruby-on-rails - rails 和重构,针对 vim 用户的建议工具和技术?

作为一个相当新的Rails开发人员,上周我第一次尝到了重构的滋味,我不得不重命名Controller和模型以更好地反射(reflect)我们正在使用的领域。我使用.NET多年,并认为Resharper之类的工具很容易重命名类。我想知道Rails界的人们如何缓解重构问题?我最感兴趣的是那些主要使用vim(或IDE以外的任何东西)的人。我最感兴趣的是:特定于rails的有效vim插件可能有助于流程内置的vim工具也可能有助于该过程我花了将近两个小时进行重构并希望提高效率,因此Rails专家的任何建议都会很棒。干杯。注意,我意识到这个问题类似于Whattoolsareavailablefor

ruby - RSpec 2 的 RCov 未正确检测覆盖范围? (不是 Rails!)

前言我刚刚开始接触Ruby,不仅尝试学习语言,还尝试学习一些开发策略。作为初学者,我专注于测试和行为驱动开发。(是的,我两者都做是为了比较)我正在使用的小型软件项目单元测试(TDD)cucumber(BDD)Rspec(TDD和BDD)在不同的地方,我遇到了RCov作为一种工具,它告诉我我实际测试了多少实际代码。我在我的Rakefile中设置了以下RakeTask,用于单元测试的协方差分析:desc"RunRCovtogetcoverageofUnitTests"Rcov::RcovTask.new(:rcov_units)do|t|t.pattern='tests/**/tc_*.r

ruby-on-rails - 将用户 ID 添加到 Rails 中的所有日志消息

为了帮助跟踪用户操作以进行调试,我们正在考虑将session的登录用户ID添加到每条日志消息之前(如果适用)。我们的堆栈由Rails和Authlogic组成。我尝试了几种不同的路线,但到目前为止还没有100%成功。由于Authlogic不会在session数据中以明文形式存储用户ID,所以我们必须等待它被初始化。只有在ApplicationController初始化并设置为事件的AuthlogicController之后才会发生这种情况。因此,我们不能依赖config/application.rb中的代码。在我看来,唯一的解决方案是稍后更换记录器。我尝试通过子类化Logger并覆盖ad